package cn.mccraft.uide.api.plugin.extension;

import java.nio.file.Path;
import java.util.Optional;

import cn.mccraft.uide.api.file.FileTypeFilter;
import cn.mccraft.uide.api.project.Project;
import cn.mccraft.uide.api.ui.editor.FileEditor;
import javafx.scene.image.Image;
import ro.fortsoft.pf4j.ExtensionPoint;

public interface FileTypeProvider<E extends FileEditor> extends ExtensionPoint{

	String getName();
	
	Image getIcon();
	
	FileTypeFilter getFilter();
	
	Optional<E> createEditor(Project project, Path path);
}
